package com.nenude.corejava.ch10;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class ListClass {
	public static void main(String [] args) {
		// list 集合，用于存放有序的数据，list集合的元素可以重复

		List list = new ArrayList();

		Computer computer = new Computer("HP", 5000);
		Computer computer2 = new Computer("HW", 5500);
		Computer computer3 = new Computer("HW2", 5500);

		// 新增操作
		list.add(computer);
		list.add(computer2);
		list.add(computer3);
		list.add(computer2);
		
		//查询有几条数据
		System.out.println("size "+list.size());
		
		//迭代：查询遍历
		Iterator iterator=list.iterator();
		while (iterator.hasNext()) {
			Computer computer4=(Computer)iterator.next();
			System.out.println(computer4);
		}
		
		//使用for循环迭代查询集合
		System.out.println("\n=================");
		for (int i = 0; i < list.size(); i++) {
			Computer computer4=(Computer)list.get(i);
			System.out.println(computer4);
		}
		
		//删除:可以根据对象或根据索引进行删除
		System.out.println("\n2删除===================");
		
		list.remove(0);
		list.remove(computer3);
		
		//集合如果不指定数据类型，则可以保存任何的数据类型
		list.add(new String("你好！"));
		list.add(new Date());
		
		//for:each迭代输出
		for (Object object:list) {
			System.out.println(object);
			
	//在集合中：如果保存了多种类型的数据，在取数据时必须先进行类型的判断
			if (object instanceof String) {
				String str=(String)object;

			}else if (object instanceof Computer) {
				Computer comp=(Computer)object;
				
			}else if (object instanceof Date) {
				Date date=(Date)object;
			}
		}//foreach end
		
		
		
		
		

	}

}
